package com.qinglei.recoup.common.domain;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.security.Principal;

/**
 * <websocket登录连接对象>
 * <用于保存websocket连接过程中需要存储的业务参数>
 *
 * @author syp
 * @version 2018-08-26 23:30
 * @see [相关类/方法] (可选)
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WsUser implements Principal {

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 获取用户登录令牌
     *
     * @return String
     */
    @Override
    public String getName() {
        return getWsUserName(userId);
    }

    /**
     * 转换系统用户ID为WebSocket用户名
     *
     * @param userId 系统用户ID
     * @return String
     */
    public static String getWsUserName(Long userId) {
        return "uid" + userId;
    }
}
